mscJNeuralNet.connectors
Interface INetConnector

All Known Implementing Classes:
RandomNetConnector, RandomSymmetryBreakingNetConnector, WesselsBarnardNetConnector

public interface INetConnector

Schnittstelle für alle Klassen, welche die Kantengewichte eines KNN initialisieren. Es existieren verschiedene Algorithmen, um den Initialwert eines Kantengewichts so zu bestimmen, dass weder ein Lernverfahren in einem lokalen Minima hängenbleibt, noch die Dimensionalität der Gewichtsmatrix nicht voll ausgeschöpft wird. Beispiel für ein bekanntes Problem, das die Leistungsfähigkeit eines KNN einschränkt ist das Symmetrie-Problem, bei dem bestimmte Kantengewichtswerte ein lernen verhindern. Entsprechend gibt es "Symmetrybreaking" Algorithmen, mit denen solche Gewichtskonstellationen verhindert werden sollen.

In der aktuellen Version dieser API werden lediglich Feedforward-Netze ohne Shortcut-Verbindungen unterstützt. Daher sollte der Connector auch nur die jeweiligen Gewichte initialisieren.
Am einfachsten werden die BIAS und die restlichen Gewichte getrennt initialisiert. Zuerst werden die BIAS-Werte initalisiert:

 // first connect BIAS to all but inputlayer
 for (int lInputtingLayer = 1;
 		lInputtingLayer
 Hierbei zu beachten sind die Indizes, mit denen die Neuronen und das BIAS in der Gewichte-
 Matrix repräsentiert und auch adressiert werden. Das BIAS hat den Index 0, gefolgt
 von den Eingabeneuronen, den verdeckten Neuronen und den Ausgabeneuronen.
Anschließend können die Schichten schichtweise miteinander verbunden werden. Empfohlen wird eine systematische Schleife von der Eingabeschicht hin zur Ausgabeschicht.
 for (lOutputtingLayer=0; lOutputtingLayer
 

Created on 02.06.2004

Version:
02.06.2004
Author:
M. Serhat Cinar

Method Summary
 void connectNet(Net pNet, double[] pParameters)
          Initialisiert die Gewichtsmatrix des gegebenen Netzes mit Startwerten, so daß das Netz verbunden (connected) ist.
 

Method Detail

connectNet

public void connectNet(Net pNet,
                       double[] pParameters)
Initialisiert die Gewichtsmatrix des gegebenen Netzes mit Startwerten, so daß das Netz verbunden (connected) ist.
Üblicherweise besitzt ein übergebenes Netz eine Gewichtsmatrix, die nur mit 0-Werten gefüllt ist und daher keine Verbindungen erahnen läßt. Nach der Initialisierung sollten die Observer des Netzes benachrichtigt werden.

Parameters:
pNet - Das Netz, dessen Kantengewichte initialisiert werden sollen.
pParameters - Je nach Initialisierungsalgorithmus können hier verschiedene Parameter übermittelt werden.